package com.kpmg.datalake.common.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.kpmg.datalake.common.model.PersonParamsSetting;
import com.kpmg.datalake.common.vo.PersonParamVO;
import com.kpmg.datalake.common.vo.ServerResponse;

/**
 * <p>
 * 个性化参数设置 服务类
 * </p>
 *
 * @author tzhang13
 * @since 2018-08-21
 */
public interface IPersonParamsSettingService extends IService<PersonParamsSetting> {

  /**
   * 查询个性化参数信息
   * @param page page
   * @param dictType dictType
   * @param locale locale
   * @param userName userName
   * @return Page
   */
  Page<PersonParamVO> getPersonParamPageByType(Page<PersonParamVO> page, String dictType,
      String locale, String userName);

  /**
   * 查询个性化参数信息
   * @param page page
   * @param locale locale
   * @param personParamVO personParamVO
   * @return Page
   */
  Page<PersonParamVO> getPersonParamPageByType(Page<PersonParamVO> page, String locale,
      PersonParamVO personParamVO);

  /**
   * 保存或者修改个性化参数
   * @param personParamSetting personParamSetting
   * @return ServerResponse
   */
  ServerResponse<String> saveOrUpdateParam(PersonParamsSetting personParamSetting);

  /**
   * 通过类型获取参数
   * @param type type
   * @return String
   */
  String getPersonParamsByType(String type);

  /**
   * 查询人员某个类型参数
   *
   * @param personParamSetting personParamSetting
   * @return ServerResponse
   */
  ServerResponse<String> getPersonParam(PersonParamsSetting personParamSetting);

  /**
   * vba 个性化设置保存
   *
   * @param personParamSetting personParamSetting
   * @return vbaSavePersionParams
   */
  ServerResponse<String> vbaSavePersonParams(PersonParamsSetting personParamSetting);


}

